1. Technical Field
The present invention relates generally to a method, system, and computer program product for creating integrated circuits. More particularly, the present invention relates to an infrastructure for determining the performance of separate integrated circuit chips when stacked into a stack of chips, such as in three dimensions (3D stack) or in a common two dimensional plane (2D stack), or in a package-to-package, chip-to-chip, or package-to-chip coupling using 2D or 3D stacks.
2. Description of the Related Art
Modern day electronics include components that use integrated circuits. Integrated circuits are electronic circuits formed using Silicon as a substrate and by adding impurities to form solid-state electronic devices, such as transistors, diodes, and resistors. Commonly known as a “chip”, an integrated circuit (IC) is generally individually encased in hard plastic forming a package. The components in modern day electronics generally appear to be rectangular black plastic pellets with connector pins protruding from the plastic encasement. Often, many such packages are electrically coupled so that the chips therein form an electronic circuit to perform certain functions.
Circuit designers use a variety of software tools to design electronic circuits that accomplish an intended task. For example, a digital circuit may be designed to accept digital inputs, perform some computation, and produce a digital output. An analog circuit may be designed to accept analog signals, manipulate the analog signals, such as my amplifying, filtering, or mixing the signals, and produce an analog or digital output. Generally, any type of circuit can be designed as an IC.
The software tools used for designing ICs produce, manipulate, or otherwise work with the circuit layout at very small scales. Some of the components that such a tool may manipulate may only measure tens of nanometer across when formed in Silicon. The designs produced and manipulated using these software tools are complex, often including millions of such components interconnected to form an intended electronic circuitry. A wire is a connection between parts of electronic components, and is formed using a metallic material that conducts electricity. A conducting path in an IC, such as a wire, is also known as a back-end macro. The set of electronic components implementing logic or a function is called a front-end macro.
An IC may use many layers of silicon to implement a circuit. In other words, components forming the circuit may be placed on different layers of silicon in a chip. Interconnects connecting the components on one layer to components on different layers go through the silicon layer. Such interconnects are also known as through silicon vias (TSVs).
In an effort to further reduce the footprint of electronic circuits, different chips are being stacked together in a single package. Stacking chips together into a common package is called chip-to-chip stacking. For example, a processor chip and a memory chip, each possibly formed using multiple layers, may be stacked to occupy a smaller area on a circuit board, or to consume less power, as compared to using separate processor and memory chips.